package com.jiangyg.mall.admin.vo;

import com.jiangyg.mall.core.utils.tree.Tree;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 类描述：系统部门信息
 *
 * @author jiangyg
 * @version 2.0
 * @date 2020-07-30
 */
@Data
@NoArgsConstructor
@EqualsAndHashCode
public class DepartVO implements Serializable {

    private static final long serialVersionUID = 3505415028832008719L;

    /**
     * 部门ID
     */
    private String id;

    /**
     * 父级部门ID
     */
    private String pid;

    /**
     * 父级部门名称
     */
    private String pname;

    /**
     * 部门代码（一般根据部门名称动态生成）
     */
    private String code;

    /**
     * 部门名称
     */
    private String name;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 备注
     */
    private String description;

    /**
     * 功能描述：部门转换为菜单对象
     *
     * @return 菜单对象
     */
    public Tree toMenu() {
        final Tree menu = new Tree();
        menu.setId(this.getId());
        menu.setPid(this.getPid());
        menu.setSort(this.getSort());
        menu.setName(this.getName());
        menu.addAttribute("code", this.getCode());
        return menu;
    }

}
